<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>原型</title>
</head>
<body>
<script>
    // 组合式继承
    function SuperType() {
        console.log('superType')
    }

    function SubType() {
        SuperType.call(this, arguments)
    }
    SubType.prototype = new SubType(); // 执行1次
    SubType.prototype.constructor = SubType;

    var sub = new SubType(); // 执行第2次
    var sub2 = new SubType(); // 执行第3次
    /*
    组合式继承的不足:
    1. 调用两次父类构造函数(子类原型指向父类new实例,构造子类)
    2. 因为1，所以在sub和sub.prototype中有重复的属性
     */
</script>
</body>
</html>
